message(NOTICE "开始构建 boost 模块")
# 检查构建目标是否存在
if(TARGET boost-${BOOST_TAG})
    message(NOTICE "boost 模块已存在 boost-${BOOST_TAG}")
 return()
endif()
# 构建 boost 库
ExternalProject_Add(
     boost-${BOOST_TAG}
    # 目录配置
    PREFIX          ${EXTERNAL_PROJECT_ROOT}                  # ✅ 显式设置 prefix 目录
    SOURCE_DIR      ${MODULE_SRC}/boost/${BOOST_TAG}          # ✅ 显式设置 source 目录
    BINARY_DIR      ${MODULE_BUILD}/boost/${BOOST_TAG}        # ✅ 显式设置 build 目录
    INSTALL_DIR     ${MODULE_INSTALL_DIR}/boost/${BOOST_TAG}  # ✅ 显式设置 install 目录
    STAMP_DIR       ${MODULE_STAMP}/boost/${BOOST_TAG}        # ✅ 显式设置 stamp 目录
    TMP_DIR        ${MODULE_TMP}/boost/${BOOST_TAG}           # ✅ 显式设置 tmp 目录
    DOWNLOAD_COMMAND # 下载命令
        COMMAND ${CMAKE_COMMAND}
            -DSOURCE_DIR=<SOURCE_DIR>
            -DGIT_REPOSITORY=${BOOST_REPO}
            -DGIT_TAG=${BOOST_TAG}
            -P ${__DIR}/utils/git.cmake
    # 禁用后续阶段
    CONFIGURE_COMMAND  ""                          # 跳过 configure
    BUILD_COMMAND      ""                          # 跳过 build
    INSTALL_COMMAND    ""                          # 跳过 install
    TEST_COMMAND       ""                          # 跳过 test
    # ✅ 启用所有日志（调试必备）
    LOG_DOWNLOAD      OFF                           # 下载日志
    LOG_CONFIGURE     OFF                           # 配置日志
    LOG_BUILD         OFF                           # 构建日志
    LOG_INSTALL       OFF                           # 安装日志
    LOG_OUTPUT_ON_FAILURE OFF                       # 失败时自动输出日志
    STEP_TARGETS       download                    # 可通过 make download 触发
    EXCLUDE_FROM_ALL   YES                         # 可选：不加入 all 目标

)
